package com.example.demo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.doris.Book;

import java.util.List;

public interface BookService {
    
    /**
     * 根据ISBN查找图书
     * @param isbn ISBN编号
     * @return 图书信息
     */
    Book getBookByIsbn(String isbn);
    
    /**
     * 根据书名关键字搜索图书
     * @param title 书名关键字
     * @return 图书列表
     */
    List<Book> searchByTitle(String title);
    
    /**
     * 根据作者关键字搜索图书
     * @param author 作者关键字
     * @return 图书列表
     */
    List<Book> searchByAuthor(String author);
    
    /**
     * 多条件分页查询图书
     * @param page 页码
     * @param size 每页大小
     * @param title 书名关键字
     * @param author 作者关键字
     * @param publisher 出版社关键字
     * @return 分页结果
     */
    Page<Book> searchBooks(int page, int size, String title, String author, String publisher);    /**
     * 使用Doris全文索引进行模糊搜索，支持分页
     * @param keyword 搜索关键词
     * @param page 页码
     * @param size 每页大小
     * @return 分页结果
     */
    Page<Book> searchByFullText(String keyword, int page, int size);
}
